package cn.com.cetccst.datacenter.policy.type;

import com.google.gson.annotations.SerializedName;

import java.util.List;

import cn.com.cetccst.datacenter.policy.fence.GFence;

public class Compliance {

    @SerializedName("effectiveHours")
    private int effectiveHours;
    @SerializedName("intervalHours")
    private int intervalHours;
    @SerializedName("modelValues")
    private List<String> modelValues;
    @SerializedName("modelAction")
    private int modelAction;
    @SerializedName("osVersions")
    private List<String> osVersions;
    @SerializedName("osAction")
    private int osAction;
    @SerializedName("blackWhiteAppAction")
    private int blackWhiteAppAction;
    @SerializedName("rootAction")
    private int rootAction;
    @SerializedName("timeChangedAction")
    private int timeChangedAction;
    @SerializedName("connectivityIntervalHours")
    private int connectivityIntervalHours;
    @SerializedName("connectivityAction")
    private int connectivityAction;
    @SerializedName("deviceBindingAction")
    private int deviceBindingAction;
    @SerializedName("deviceLockCode")
    private String deviceLockCode;
    @SerializedName("deviceGeoFence")
    private DeviceGenFence deviceGeoFence;

    public int getEffectiveHours() {
        return effectiveHours;
    }

    public int getIntervalHours() {
        return intervalHours;
    }

    public List<String> getModelValues() {
        return modelValues;
    }

    public int getModelAction() {
        return modelAction;
    }

    public List<String> getOsVersions() {
        return osVersions;
    }

    public int getOsAction() {
        return osAction;
    }

    public int getBlackWhiteAppAction() {
        return blackWhiteAppAction;
    }

    public int getRootAction() {
        return rootAction;
    }

    public int getTimeChangedAction() {
        return timeChangedAction;
    }

    public int getConnectivityIntervalHours() {
        return connectivityIntervalHours;
    }

    public int getConnectivityAction() {
        return connectivityAction;
    }

    public int getDeviceBindingAction() {
        return deviceBindingAction;
    }

    public String getDeviceLockCode() {
        return deviceLockCode;
    }

    public DeviceGenFence getDeviceGeoFence() {
        return deviceGeoFence;
    }

    public static class DeviceGenFence {
        @SerializedName("deviceGeoFenceAction")
        private int deviceGeoFenceAction;
        @SerializedName("geoFenceInnerOrOuter")
        private int geoFenceInnerOrOuter;
        @SerializedName("validLocation")
        private GFence validLocation;

        public int getDeviceGeoFenceAction() {
            return deviceGeoFenceAction;
        }

        public int getGeoFenceInnerOrOuter() {
            return geoFenceInnerOrOuter;
        }

        public GFence getValidLocation() {
            return validLocation;
        }
    }
}
